//懒加载插件

//响应式监听目标元素的可见性方法
import { useIntersectionObserver } from '@vueuse/core'
export const lazyPlugin = {
    install(app) {
        //封装全局自定义指令
        app.directive('img-lazy', {
            //所有子节点都挂载完成后调用
            mounted(el, binding) {
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }],) => {
                        if (isIntersecting) {
                            el.src = binding.value
                            stop()
                        }
                    },
                )
            }
        })
    }
}